/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package concoursbelote;

import java.util.ArrayList;

/**
 *
 * @author isen
 */
public class PaquetdeCartes 
{
    private ArrayList<Carte> paquetParDefaut = new ArrayList <Carte>();
    public static ArrayList<Carte> paquet = new ArrayList <Carte> (32);
    
    public static final SigneCarte Coeur = new SigneCarte ("Coeur");
    public static final SigneCarte Carreau = new SigneCarte ("Carreau");
    public static final SigneCarte Trefle = new SigneCarte ("Trefle");
    public static final SigneCarte Pique = new SigneCarte ("Pique");
    
    private static final NumeroCarte Sept = new NumeroCarte("Sept", 0, 0, 1, 9);
    private static final NumeroCarte Huit = new NumeroCarte("Huit", 0, 0, 2, 10);
    private static final NumeroCarte Neuf = new NumeroCarte("Neuf", 0, 14, 3, 15);
    private static final NumeroCarte Dix = new NumeroCarte("Dix", 10, 10, 7, 13);
    private static final NumeroCarte Valet = new NumeroCarte("Valet", 2, 20, 4, 16);
    private static final NumeroCarte Dame = new NumeroCarte("Dame", 3, 3, 5, 11);
    private static final NumeroCarte Roi = new NumeroCarte("Roi", 4, 4, 6, 12);
    private static final NumeroCarte As = new NumeroCarte("As", 11, 11, 8, 14); 
    
    /**
     * Initialisation du paquet par defaut , comportant
     * toutes les cartes rangées dans l'ordre
     */
    public PaquetdeCartes()
    {
        paquetParDefaut.add(new Carte (Pique , As));
        paquetParDefaut.add(new Carte (Pique , Roi));
        paquetParDefaut.add(new Carte (Pique , Dame));
        paquetParDefaut.add(new Carte (Pique ,Valet ));
        paquetParDefaut.add(new Carte (Pique , Dix));
        paquetParDefaut.add(new Carte (Pique , Neuf));
        paquetParDefaut.add(new Carte (Pique ,Huit));
        paquetParDefaut.add(new Carte (Pique , Sept ));
        
        paquetParDefaut.add(new Carte (Coeur ,As));
        paquetParDefaut.add(new Carte (Coeur ,Roi));
        paquetParDefaut.add(new Carte (Coeur ,Dame));
        paquetParDefaut.add(new Carte (Coeur ,Valet));
        paquetParDefaut.add(new Carte (Coeur ,Dix));
        paquetParDefaut.add(new Carte (Coeur ,Neuf));
        paquetParDefaut.add(new Carte (Coeur ,Huit));
        paquetParDefaut.add(new Carte (Coeur ,Sept));
        
        paquetParDefaut.add(new Carte (Trefle ,As));
        paquetParDefaut.add(new Carte (Trefle ,Roi));
        paquetParDefaut.add(new Carte (Trefle , Dame));
        paquetParDefaut.add(new Carte (Trefle ,Valet));
        paquetParDefaut.add(new Carte (Trefle ,Dix));
        paquetParDefaut.add(new Carte (Trefle , Neuf)) ;
        paquetParDefaut.add(new Carte (Trefle , Huit ));
        paquetParDefaut.add(new Carte (Trefle ,Sept));
        
        paquetParDefaut.add(new Carte (Carreau ,As));
        paquetParDefaut.add(new Carte (Carreau ,Roi));
        paquetParDefaut.add(new Carte (Carreau ,Dame));
        paquetParDefaut.add(new Carte (Carreau ,Valet));
        paquetParDefaut.add(new Carte (Carreau ,Dix));
        paquetParDefaut.add(new Carte (Carreau ,Neuf));
        paquetParDefaut.add(new Carte (Carreau ,Huit));
        paquetParDefaut.add(new Carte (Carreau ,Sept));
    }
        
        
        public void battreLesCartes ()
        {
            int n = 0;
            for (int i = 32; i > 0; i--) 
            {
                n = (int) (Math.random() * i);
                getPaquet().add((getPaquetParDefaut().get(n)).clone());
                getPaquetParDefaut().remove(n);
            }  
        }
        
        public void couperLesCartes (int n)
        {
            getPaquet().addAll(getPaquet().subList(n, 31));
            getPaquet().addAll(getPaquet().subList(0, n));
            
            for (int i=0 ;i<31 ; i++)
            {
                getPaquet().remove(0);
            }
        }
        
        public void distribuerLesCartes (Client joueur , int n)
        {
            for (int i = 0; i < n; i++) 
            {
                
            }
            
        }
        
        
        public Carte retournerLaCarte ()
        {
            Carte laCarte = getPaquet().get(0).clone();
            getPaquet().remove(0);
           return laCarte;
        }

    
    public ArrayList<Carte> getPaquetParDefaut() 
    {
        return paquetParDefaut;
    }

    
    public ArrayList<Carte> getPaquet() 
    {
        return paquet;
    }
        
    
}


